package com.ccys.db.vo.doctor.pendingToConsult;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @Author：XLY
 * @Date：2024/3/5 0005
 */

@Data
public class GetWaitingForApprovingConsultationsVo {

    @JsonProperty("total_items")
    private Integer totalItems;

    private List<BookingVo> bookings;

    @Data
    public static class BookingVo{

        private String id;   //": "7336899b-7952-4439-87c4-47451abc6871",

        private String code;   //": "25708604569743",

        @JsonProperty("created_on")
        private Date createdOn;   //": "2023-10-26T19:20:14.33",

        @JsonProperty("created_on_display")
        private String createdOnDisplay;   //": "about 4 months ago",

        @JsonProperty("begin_time")
        private Date beginTime;   //": "2023-10-26T19:20:24.943",

        @JsonProperty("end_time")
        private Date endTime;   //": "2023-10-26T19:21:14.993",

        private String type;   //": "Child/Ward",

        private String diagnosis;   //": "Penyerangan dengan gas CO dari penggunaan gas",

        @JsonProperty("total_consult")
        private BigDecimal totalConsult;   //": 280000.0,

        @JsonProperty("total_medication")
        private BigDecimal totalMedication;   //": 0.0,

        @JsonProperty("total_cost")
        private BigDecimal totalCost;   //": 280000.0,

        @JsonProperty("consultation_type")
        private String consultationType;   //": "General Consultation"

        private MemberVo member;
    }


    @Data
    public static class MemberVo{

        private String id;   //": "1ddc6f7f-12a4-44e0-8d7e-176501604748",

        @JsonProperty("first_name")
        private String firstName;   //": "SPJ ID",

        @JsonProperty("last_name")
        private String lastName;   //": "",

        @JsonProperty("nric_fin")
        private String nricFin;   //": "299998888",

        private String gender;   //": "1",

        @JsonProperty("profile_photo")
        private String profilePhoto;   //": "",

        private ChildVo child;
    }


    @Data
    public static class ChildVo{

        private String id;  //": "92703529-e4df-4d07-ac68-c229d09a2c07",

        @JsonProperty("first_name")
        private String firstName;  //": "SPJ C ID",

        @JsonProperty("last_name")
        private String lastName;  //": "",

        @JsonProperty("nric_fin")
        private String nricFin;  //": "63637272",

        private String gender;  //": "1",

        private String relationship;  //": "parent",

        private Integer age;  //": 3,

        @JsonProperty("date_of_birth")
        private String dateOfBirth;  //": "10/12/2020 12:00:00 AM",

        @JsonProperty("profile_photo")
        private String profilePhoto;  //": ""

    }
}
